1. Field of the Invention
This invention relates to a printer, printer control method and recording medium storing its process, and more particularly to a printer capable of collate printing, a printer control method for collate printing, and recording medium storing a process therefor.
2. Description of the Related Art
Some of printers like page printers, for example, are capable of collate printing. Collating printing is also called gathering printing, and it is the function of printing a plurality of copies by aligning the page numbers.
As another printing method for executing similar jobs, there is copy printing as well. Copy printing is also called stack printing, and it is the function of continuously printing a plurality of copies of every page.
For explaining them more concretely, let an example be taken in which two copies of a printed matter including the first page, second page and third page, i.e. three pages in total, are printed. In collate printing, pages are printed in the order of the printed matter of the first page, second page and third page, and another printed matter of the first page, second page and third page are printed. That is, two copies of sequentially aligned pages are printed.
In copy printing, printing is conducted in the order of the first page, first page, second page, second page , third page and third page. Therefore, printing is conducted by copy printing, a user must divide the printed sheets into blocks of the same pages and thereafter can obtain two copies of the printed matter. Therefore, collate printing is more convenient than copy printing for users.
However, printers for collate printing must hold data of all pages to be printed until printing of all copies is finished. If a memory is used to hold the data for printing, a memory of a large capacity is required. However, mounting a large amount of expensive memory devices are mounted in a printer is not desirable because it increases the cost. Therefore, printers incorporating a hard disc instead of a memory have been proposed.
In the case where a printer includes a hard disc, when the printer receives data to be printed, it once writes all of the data in the hard disc, and executes printing by using data written in the hard disc. Therefore, only if the hard disc has an enough capacity, collate printing can be conducted with no limitation about the number of pages. Additionally, since collate printing is possible regardless of the capacity of the memory, also with printers originally having a memory with a small capacity, collate printing is enabled by introducing a hard disc. Therefore, data stored in the hard disc is maintained in the printer until the printing job is completed.
Further, even when a memory of a large capacity is mounted in a printer, there is the possibility the printer program occupies the memory, and it may fails to print out complicated graphics and materials of a lot of pages. Furthermore, some types of printers cannot afford to add any further memory. In these cases, by sending data of a necessary number of copies to be printed from a computer to the printer for each number of copy, collate printing was realized. However, since the data to be printed was sent from the computer to the printer from the first copy to the second coy and to the third copy, the computer was not released from the job for an extremely long time. For example, when ten copies of a 5-page material are printed, a task for 50 pages was necessary. This kind of problem will be solved by mounting a hard disc to a printer and realizing collate printing of a necessary number of copies.
However, in the case of conducting collate printing with a printer having a hard disc, when the printer received print data of the first copy, it once stored the print data and thereafter transmit the print data to a printer engine. That is, since it started printing after storing the print data in the hard disc, it took a surplus time until completing the print of the first copy. There was also the problem that it takes the surplus time until the first page of the print is executed.
It is therefore an object of the invention to provide a printer which requires a time as short as possible until completing a printing job either upon one-copy printing or upon collate printing. It is a further object of the invention to provide a printer which need a time as short as possible until the first page of the print is executed.
To attain the objects, in a printer according to the invention, there is provided a print request managing task for managing: receiving a print request; generating and transmitting a print data according to the print request to efficiently conduct collate printing based on the contents of the print request; storing data necessary for printing based on the print request as a storage data in an auxiliary storage device; and generating and transmitting a print data from the storage data stored in the auxiliary storage device. Since the print request received from a language interpreting task is already interpreted, the print request managing task can know how to manage these three acts for executing efficient collate printing.
In this case, by giving a high priority to the print request managing task for the use of a central processing unit than the priority give to the language interpreting task for using the central processing unit, it is possible to prevent that the language interpreting task interrupts during execution of the print request managing task and the interpreted language by the printer is changed thereby.
By giving a lower priority to the print request managing task for the use of the central processing unit than the priority given to a print execution task or a communication task for using the central processing unit, data reception can be preferentially done, and the central processing unit can be allocated to the print execution task or the communication task even during execution of a print request managing task requiring a relatively long processing time.
In the case where the print request received from the language interpreting task requests collate printing of a plurality of copies, the print request managing task can quickly execute printing of the first copy of collate printing by generating a print data changed in number of copies into 1 for the first copy and transmit it to the print execution task, storing a data necessary for printing the second copy, et seq. as a storage data after receiving a print end report from the print execution task, reading the storage data stored in the auxiliary storage device for the second copy, et seq., and transmitting a print data generated on the basis of the storage data to the print execution task.
In this case, the print execution task may transmit a print end report to the print request managing task when printing of the print data received from the print request managing task is completed.
Further, if the print request managing task is configured to generate the storage data by compressing the print data, and storing this storage data in the auxiliary storage device, the data amount to be stored in the auxiliary storage device can be reduced.
If the print request managing task is configured to personally issue a print request when the number of printed copies does not reach the requested number of copies, it is possible to minimize influences of a change of the program to tasks other than the print request managing task.
If the print request managing task is configured to request an area of memory necessary for execution of printing of the second copy, et seq. to a memory managing task to reserve it, memory control is facilitated as well.
In the case where the language interpreting task issues the print request for each page, the print request managing task generates the print data and the storage data for each page, and the print execution task executes printing and transmits the print end report for each page, and sequentially delete data from the storage data stored in the auxiliary storage device by page to page when printing of such page of the final copy is finished, the occupied region in the auxiliary storage device can be released earlier.
The printer according to the invention is characterized in having the language interpreting task for interpreting a received data to be printed and transmitting a print request; the print request managing task for managing the print request received from the language interpreting task, storing the print request in the auxiliary storage device and use it, when necessary, and generating a print data for execution of printing with the printer engine in accordance with the print request; and the print execution task for receiving the print data from the print request managing task and driving the printer engine to execute printing in accordance with the print data. Since the print request managing task is provided at a latter stage of the language interpreting task, the print request managing task can use the auxiliary storage device only when it judges it necessary from the contents of the print request.
In this case,if the print request managing task is configured to determine based on the requested number of copies to be printed whether the auxiliary storage device should be used or not, or configured to use the auxiliary storage device only when the requested number of copies to be printed is 2 or more, efficient collate printing is possible.
Further, when the print request managing task is configured to call out a storage module for storing data in the auxiliary storage device when data should be stored therein and call out a read module for reading data from the auxiliary storage device when data should be read out from the auxiliary storage device, the program can be composed of modules.
Additionally, the invention can be realized as a control method of a printer. Furthermore, it is possible to realize the invention by recording a program for controlling the printer in this manner on a recording medium and have the printer read the program stored in the recording medium to execute printing.